GH-50779: [C++][Parquet] Replace remaining RapidJSON usage with simdjson - #50781
GH-50779: [C++][Parquet] Replace remaining RapidJSON usage with simdjson#50781Reranko05 wants to merge 6 commits into
Conversation
|
|
d026d1f to
0230946
Compare
|
I'm migrating
With RapidJSON this was straightforward because the DOM is reusable, but with Is the expected approach here to restructure the code into a single pass, or is there another way to serialize an already-inspected Thanks! |
|
As per docs here you could probably use the // Inspect crs_object...
// If it was not a recognized lon/lat CRS:
ARROW_ASSIGN_OR_RAISE(
auto ignored,
::arrow::internal::GetSimdjsonResult(
crs_object.reset(), "Failed to reset 'crs' object: "));
ARROW_ASSIGN_OR_RAISE(
auto raw_crs,
::arrow::internal::GetSimdjsonResult(
crs_object.raw_json(), "Failed to get raw 'crs' JSON: "));
return std::string(raw_crs);Check also |
|
Thanks @rok, However, one test still fails because Would you prefer keeping the previous compact formatting or preserving the original JSON formatting? |
|
@Reranko05 let's avoid behavior changes. Perhaps we can use simdjson::minify? |
270af67 to
777999e
Compare
|
I also see many RapidJSON references in cpp/cmake_modules/ThirdpartyToolchain.cmake. Are we ready to remove those yet? (I don't know, hence the question) |
@rok RapidJSON is no longer used by Parquet after this change, so I've removed the Parquet-specific dependency. However, there are still many RapidJSON users elsewhere in Arrow (e.g. |
f0953e2 to
57bf182
Compare
57bf182 to
32d9dac
Compare
32d9dac to
4121d9a
Compare
4121d9a to
0fcef4d
Compare
|
https://github.com/apache/arrow/actions/runs/31024222689/job/92369046910?pr=50781 We need to fix meson ci due to |
0347ab3 to
3e16dbd
Compare
c16ef37 to
e6b50cf
Compare
|
@wgtmac Thanks for pointing it out, I have added the Meson support for simdjson and updated the relevant targets. The Meson CI is now passing. |
Rationale for this change
This PR continues the simdjson migration by replacing the remaining RapidJSON usage under
cpp/src/parquetwith simdjson andJsonWriter. It also updates the Meson build to support simdjson and removes unnecessary RapidJSON dependencies from the Parquet build configuration.What changes are included in this PR?
reader_test.ccwith simdjson.geospatial/util_json_internal.ccwith simdjson andJsonWriter.types.ccwithJsonWriter.